23

» WarCraft 3 / Управление камерой

Похожие вопросы:

ответ
периодически устанавливать камеру в нужном положении\высоте
или в мемхак
ответ
А вот в этом меню галочки проставил?

23

» WarCraft 3 / рав-код

Похожие вопросы:

ответ
Сделай на основе берсерка и кидай сетку через созданного в позиции кастера даммика (невидимого юнита), даммика потом убираешь
ответ
~8gabriel8:
В редакторе объектов нажми Ctrl+D, чтобы он в списке объектов показал равкоды перед именем.
P. S. В редакторе JNGP для новых юнитов указываешь равкод, в стандартном редакторе нет.

23

» WarCraft 3 / ИИ не хочет строить здания

Похожие вопросы:

ответ
  1. а) Создай 2 переменные-массива по типу "боевая единица" (массив - чтобы для каждого игрока, мы ведь за мультиплеер трем, прально?), назови типа MyChampion и MyChampionDummy.
    б) подготовь невидимого героя-пустышку с нужной тебе иконкой, убери ману, если у чемпиона ее нет. Убери ему радиус обзора, убери галочки типа "отмечать на мини-карте" - остальные - опционально.
    В дальнейшем мы будем синхронизировать пустышку и реального чемпиона, создавая видимость одной боевой единицы.
    Итак, наш первый триггер:
в) Отследи первое появление чемпиона, когда это случится - создай для игрока героя-пустышку. Соответственно сделай MyChampion [number of (Owner of trained unit)]= last trained unit, следующей строчкой создай того самого героя-пустышку для (owner of trained unit) и сделай MyChampionDummy = last created unit. Теперь мы прочно связали этих чуваков. Этот же триггер запускает остальные.
г) Отслеживание здоровья. Сделай изначально выключенный цикличный триггер, там, каждые 0.3 секунды. Триггер запускается пунктом в). Каждые 0.3 секунды меняй здоровье героя (чья икона висит, надо чтобы она соответствовала, прально?) в % на здоровье самого чемпиона.
д) пропищи событие, мол, если выбирает игрок своего героя (кликая на иконку) выбирается чемпион
е) убивай героя вместе с чемпионом
ж) отключай триггеры с проверкой и выбором, пока чемпион мертв
з) не забывай обновлять переменную чемпиона с каждым новым чемпионом.
ответ
Здания Орков, Нежити и Ночных эльфов не могут быть отремонтированы до конца строительства.
Здания Орков и Ночных Эльфов не могу быть построены работником, находящимся снаружи здания.
Способ стройки зависит от расы работника
Попробуй перенести постройку в альянс
ответ
что бы она сразу перешла в режим наведения.. а то выглядит как баг, из-за которого надо нажимать по 2 раза...
Gui -> Force player to use X key
Согласовываешь с хоткеем строительства
======================================
Бафф имеется в виду Бафф или Спецэффект?
Если спецэффект:
DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl",u,"origin"))
Если баф, то возможно будет работать так:
call UnitAddAbility(u, 'buff')

23

» WarCraft 3 / Нужна наработка триггерного морфа (GUI)

Похожие вопросы:

ответ
Потому что у модели для этих состояний предусмотрена именно такая анимация, это свойство модели и кроме как заставить триггерно юнита проигрывать нужную анимацию или переделывать модель путей нету.
ответ
PyCCKuu_4eJl, ну если через свою кастомную функцию, превращающую минус в 0, то норм, да
а насчет деления... ну да, чет меня проглюкнуло, и на 0 не нужно тоже, это уже только смотреть че и где пишешь и считаешь

23

» WarCraft 3 / Удаление групп, юнитов, эффектов

Похожие вопросы:

ответ
Спасибо всем за ответы и пояснения! Закрываю флудильню :с
ответ
8gabriel8
я переписал всё на jass - вроде работает как надо
MUI как побочный эффект от хештаблицы и таймера
проверь как работает, а то я сутками не спал
Я там если что поменял Set Life на UnitDamageTarget, чтобы золото капало с убитых гноллов
И если нужно будет поменять способность на другую - то просто в константе passiveAbility поменять равкод
и ещё я там расставил комментарии где можно редактировать волны

23

» WarCraft 3 / Как проверить самого себя?

Похожие вопросы:

ответ
в моей карте лимит пищи 300, но всегда стоит "нет расходов"
я не совсем понимаю что тебе нужно
ответ
Кажется проблему решили, ответ крылся в текстурах, скорее всего в типе сжатия Sequental JPEG при пресохранени с другим типом сжатия (Пересохранил текстуры в тга и обратно в блп) - проблема решилась (По крайней мере сейчас так кажется).
Из чего могу предположить, то при определенных обстоятельства Варик или система неадекватно воспринимает текстуры с этим типом сжатия и выпадает
ответ
Но ведь сами по себе ошибки не происходят.
Причина подобного это А) - невнимательность либо твоя либо автора В) - программное обеспечение
Что бы в дальнейшем все было окей, просто сначала потести карту полностью что бы знать что и как должно быть, а потом вноси изменения, будь внимательней.
Еще советую связаться с автором и поговорить с ним об этой проблеме, или запросить у него еще 1 исходник да бы сверЯться с ним.
ответ
экстрасенсы в отпуске, где код?
ответ
Не удивительно, кто так делает?
Никаких вейтов в гуппах использовать нельзя, что за глупость! Для задержек существуют таймеры!
Слишком низкое время жизни дамми юнита, ставь секунд 5, то рисукуешь убить юнита неизвестно кем.
Ты не даешь видимость и не создаешь даммика за нейтрально пассивных, а зря! Даммик может не удивить в кого ему кинуть корни, цель можеть быть в тумане войны.
Чтобы кинуть корни в случайных юнитов в радиусе, есть особое дейстие GroupPickRandomUnit().
Спелл нужно переписать с 0, так же удалить русс. триггеры!

23

» WarCraft 3 / Вопрос по редактору моделей.

Похожие вопросы:

ответ
Модель я переименовал в rifleman и засунул в его папку в war3.mpq
Может быть прописать путь текстуры для модели так же как у rifleman?
ответ
для второго персонажа анимацию придётся делать с нуля, так что трудновато
ответ
вот сделал ее уменьшеной ,посори через модель эдитор как я эт сделал
если модел едитор неоткроет скачай нормальный

23

» WarCraft 3 / Классическая кампания

Похожие вопросы:

ответ
hexing,
пиши ai на jass-е, просто в коде карты, то есть таймер и все дела, всё на jass, так все пишут ai
Зато в ai есть множество специальных функций, которые соответствуют моим целям. Нет смысла изобретать велосипед.
Поэкспериментировав, я понял что в ai можно использовать только ф-ии из common.ai, а глобальные переменные из карты ИИ не воспринимаются. Игроки исчисляются с нуля.

23

» WarCraft 3 / Убрать здание под землю

Похожие вопросы:

ответ
Поменяй обратно на здание, затем убери текстуру земли, затем смени назад на юнита.
Там графа просто плавающая.

23

» WarCraft 3 / а как добавить строку

Похожие вопросы:

ответ
Ты так описал, что я тоже запутался. Но реализовать это можно только заменой скиллов. Чтобы душа не терялась, нужно хранить её в отдельной переменной (или в Custom Value юнита, например) и в зависимости от значения переменной ставить нужную версию скилла.
ответ
есть стандартная способность Кислотная Бомба, она тоже снижает защиту
Нейтрально враждебные - герои

23

» WarCraft 3 / Не отображается способность

Похожие вопросы:

ответ
Потому что некоторые способности предметов не отображаются. Вообще. Тебе нужна рандомная пассивная способность юнита, чисто для отображения. Получает способность пустушку - дать твою предметную способность.
ответ
Спеллбук, запрет заклинания.
ответ
avuremybe, как и сказал nvc123, у канал по умолчанию нет иконки "Данные - параметры -> Изображение"
avuremybe, лучше сразу предоставлять скрины
ответ
Найди эту переменную и нажми ПКМ и обнулить

23

» WarCraft 3 / Как задать анимацию смерти юниту?

Похожие вопросы:

ответ
после разложения костей юниты сами выгружаются из памяти
функция "wait" то же вызывает утечки
она не вызывает утечки, она сама по себе кривая и не подходит под большинство задач
если создать переменную "Point" типа "точка" и изначально задать ей положение центр области "Final", а потом обращаться уже к этой переменной "Point" в триггере событие "боевая единица входит в область "Start", действие "отдать приказ боевой единице следовать в "Point" , то новые точки создаваться не будут?
да
только в гуи еще и создание юнитов утекает тоже насколько я помню, надо тоже заранее точку делать
впринципе можно было бы обойтись одной точкой на все действия, но вам видимо пока рано

23

» WarCraft 3 / WE WARCRAFT3

Похожие вопросы:

ответ
  1. а) Создай 2 переменные-массива по типу "боевая единица" (массив - чтобы для каждого игрока, мы ведь за мультиплеер трем, прально?), назови типа MyChampion и MyChampionDummy.
    б) подготовь невидимого героя-пустышку с нужной тебе иконкой, убери ману, если у чемпиона ее нет. Убери ему радиус обзора, убери галочки типа "отмечать на мини-карте" - остальные - опционально.
    В дальнейшем мы будем синхронизировать пустышку и реального чемпиона, создавая видимость одной боевой единицы.
    Итак, наш первый триггер:
в) Отследи первое появление чемпиона, когда это случится - создай для игрока героя-пустышку. Соответственно сделай MyChampion [number of (Owner of trained unit)]= last trained unit, следующей строчкой создай того самого героя-пустышку для (owner of trained unit) и сделай MyChampionDummy = last created unit. Теперь мы прочно связали этих чуваков. Этот же триггер запускает остальные.
г) Отслеживание здоровья. Сделай изначально выключенный цикличный триггер, там, каждые 0.3 секунды. Триггер запускается пунктом в). Каждые 0.3 секунды меняй здоровье героя (чья икона висит, надо чтобы она соответствовала, прально?) в % на здоровье самого чемпиона.
д) пропищи событие, мол, если выбирает игрок своего героя (кликая на иконку) выбирается чемпион
е) убивай героя вместе с чемпионом
ж) отключай триггеры с проверкой и выбором, пока чемпион мертв
з) не забывай обновлять переменную чемпиона с каждым новым чемпионом.
ответ
XGM Bot:
Похожие вопросы:

ответ
  1. а) Создай 2 переменные-массива по типу "боевая единица" (массив - чтобы для каждого игрока, мы ведь за мультиплеер трем, прально?), назови типа MyChampion и MyChampionDummy.
    б) подготовь невидимого героя-пустышку с нужной тебе иконкой, убери ману, если у чемпиона ее нет. Убери ему радиус обзора, убери галочки типа "отмечать на мини-карте" - остальные - опционально.
    В дальнейшем мы будем синхронизировать пустышку и реального чемпиона, создавая видимость одной боевой единицы.
    Итак, наш первый триггер:
в) Отследи первое появление чемпиона, когда это случится - создай для игрока героя-пустышку. Соответственно сделай MyChampion [number of (Owner of trained unit)]= last trained unit, следующей строчкой создай того самого героя-пустышку для (owner of trained unit) и сделай MyChampionDummy = last created unit. Теперь мы прочно связали этих чуваков. Этот же триггер запускает остальные.
г) Отслеживание здоровья. Сделай изначально выключенный цикличный триггер, там, каждые 0.3 секунды. Триггер запускается пунктом в). Каждые 0.3 секунды меняй здоровье героя (чья икона висит, надо чтобы она соответствовала, прально?) в % на здоровье самого чемпиона.
д) пропищи событие, мол, если выбирает игрок своего героя (кликая на иконку) выбирается чемпион
е) убивай героя вместе с чемпионом
ж) отключай триггеры с проверкой и выбором, пока чемпион мертв
з) не забывай обновлять переменную чемпиона с каждым новым чемпионом.


23

» WarCraft 3 / Узнать игрока, который отдал приказ.

Похожие вопросы:

ответ
Fraps:
Там короче когда я воду создавал, то криво земля шла... Как бы это объяснить... Тыкаю создать воду - рядом создаётся земля...
Пришлось как-то скрыть в текстурах растений этот баг.
Это из-за него может быть дисинхрон?
Нет. Это не баг, а корявый ланд дизайн и из за этого дропать не будет. Уверен на 99%, что десинх кроется в "GetLocalPlayer"

23

» WarCraft 3 / WE WARCRAFT3

Похожие вопросы:

ответ
  1. а) Создай 2 переменные-массива по типу "боевая единица" (массив - чтобы для каждого игрока, мы ведь за мультиплеер трем, прально?), назови типа MyChampion и MyChampionDummy.
    б) подготовь невидимого героя-пустышку с нужной тебе иконкой, убери ману, если у чемпиона ее нет. Убери ему радиус обзора, убери галочки типа "отмечать на мини-карте" - остальные - опционально.
    В дальнейшем мы будем синхронизировать пустышку и реального чемпиона, создавая видимость одной боевой единицы.
    Итак, наш первый триггер:
в) Отследи первое появление чемпиона, когда это случится - создай для игрока героя-пустышку. Соответственно сделай MyChampion [number of (Owner of trained unit)]= last trained unit, следующей строчкой создай того самого героя-пустышку для (owner of trained unit) и сделай MyChampionDummy = last created unit. Теперь мы прочно связали этих чуваков. Этот же триггер запускает остальные.
г) Отслеживание здоровья. Сделай изначально выключенный цикличный триггер, там, каждые 0.3 секунды. Триггер запускается пунктом в). Каждые 0.3 секунды меняй здоровье героя (чья икона висит, надо чтобы она соответствовала, прально?) в % на здоровье самого чемпиона.
д) пропищи событие, мол, если выбирает игрок своего героя (кликая на иконку) выбирается чемпион
е) убивай героя вместе с чемпионом
ж) отключай триггеры с проверкой и выбором, пока чемпион мертв
з) не забывай обновлять переменную чемпиона с каждым новым чемпионом.

23

» WarCraft 3 / Помогите!

Похожие вопросы:

ответ
MrSlendyBoy, почему-то я уверен, что он здесь на xgm есть, и, даже если там версия новее моего, со своей задачей он справится. Но если ты настаиваешь
ответ
Нашел пример переделал под себя, прикрепляю возможно кому пригодится =)
ответ
Хотел было написать словами, но понял, что это будет дольше, чем сделать самому.
PS: тут GUI, указывайте в описании вопроса, как надо делать.

23

» WarCraft 3 / Вопрос по war3ModelEditor 1.05 rus

Похожие вопросы:

ответ
Если мне память не изменяет, то в вк3 можно сделать либо синфазный партикль, либо XY партикль. Последний делается проставлением галочки в соответствующей колонке в магосе (модел эдиторе)
Если XY неподходит, то есть смысл подумать над тем, как-бы сделать такой эффект мешем.
не очень понимаю "Zap'ов", напишите подробно пожалуйста
Он имеет ввиду молнии, как я понимаю. Те, которые используют текстуру zap что-то там .blp
Интересно посмотреть над чем ты там работаешь кстати!
ответ
ответ
Satanugushka, в директории игры.
  • архивы открываются этим
  • тут более новая версия модел эдитора
Лучше не скачивать ПО с агрегаторов вроде playground.

23

» WarCraft 3 / Запуск перезарядки способности (не мемхак)

Похожие вопросы:

ответ
В предмете ID кулдауна разный ставьте.
ответ
на основе эксгумация труповозок можно сделать пасивки с колдаунами
вот наработка
ответ
Хоспаде. Вынеси свою лучницу в отдельную карту. У тебя же чёрт ногу сломит.

Не знаю, у меня автокаст нормально перезаряжается. Возможно, дело в основе. Попробуй дать не "Ледяные", а "Огненные стрелы".
Вот. Забыл прикрепить.
А может быть, дело в том, что твоя лучница - "Здание". Честное слово, это три самые замороченные способности у близзард: "Огненные", "Отравленные" и "Ледяные" стрелы. На первый взгляд они одинаковые, но стоит присмотреться... Ух!
ответ
- Вы про это?
	function StartAbilityCooldown takes unit whichUnit, integer abilityId, real cd returns boolean
        local integer pAbility = 0
        local integer offset1
        local integer offset2
        local boolean bRes = false
        
        if GetUnitAbilityLevel( whichUnit, abilityId ) == 0 or cd == 0.00 then
            return bRes
        endif
        
        set pAbility = GetUnitAbility( whichUnit, abilityId )
        
        if pAbility < 1 then
            return bRes
        else
            set offset1 = RMem( pAbility + 0x134 )
            set offset2 = RMem( pAbility + 0x138 )
          
            if offset1 > 0 or offset1 < 0 or offset2 > 0 or offset2 < 0 then
                call WMem( pAbility + 0x134, mR2I( cd ) )
                call WMem( pAbility + 0x138, mR2I( 10.00 ) )
                if not InGame then
                    call BJDebugMsg( "Start Cooldown WARNING!" )
                    call BJDebugMsg( "ADRESS-VAL1-VAL2" )
                    call BJDebugMsg( Int2Hex(pAbility)+" - "+Int2Hex(offset1)+" - "+Int2Hex(offset2))
                    call BJDebugMsg( "abil-"+Id2String(abilityId) +" owner-"+ Int2Hex(pAbility)  )
                endif
            endif
            set Memory[pReserverdIntArg1 / 4] = mR2I( cd )
            call CallThisCallWith2Args( pStartAbilityCD, pAbility, pReserverdIntArg1 )
            set bRes =  IsAbilityOnCooldown( whichUnit, abilityId )
            call WMem( pAbility + 0x134, offset1 )
            call WMem( pAbility + 0x138, offset2 )
        endif
        return bRes
    endfunction
ответ
Разумеется можно, но лишь те у которых есть кулдаун индикатор, это перерождение и вроде абилка труповозки "эксгумация".
Так же желательно юзать новую функцию запуска в кд, некоторые абилки у меня баговали, целая тема была про это.

23

» WarCraft 3 / Магазин из Юнита.

Похожие вопросы:

ответ
Melissa, а ты попробуй :)
Melissa, Я нашёл! Хар-ки: скрыть мини карту.
Боже....
Одна голова хорошо а 2-е это Огр маг :)
ответ
У магазина есть абилка "выбрать героя", её можно применить триггерно.
ответ
Все нашел!
Ошибся, вот она, которую я имел ввиду, версия мапы оказалось 3.6 100% она.

23

» WarCraft 3 / Событие ПРИВОДИТ СПОСОБНОСТЬ В ДЕЙСТВИЕ

Похожие вопросы:

ответ
  • Ну я не люблю дамми снаряды для направленных способностей, с ними много проблем... в общем юзаю кислотную бомбу и молот бурь, отлавливают попадание по урону в 0 ед. баффу.
  • Громовая поступь говённая способность для дамми скиллов, деформирует рельеф (это никак не убрать) лучше использовать молот бурь на каждого или ракетный удар, эти способности более гибкие в настройке и не дают не удаляемых эффектов.
  • Урон лучше всего наносить триггерно от имени кастера независимо что это может сделать и даммик, так сразу мы решим несколько багов - нейтралы будут разбегаться а не агрится на кастера (даммик то неуязвим), способности вроде Blade mail из доты (возвращает урон обратно) не будут работать корректно, а так же многое другое что проверяет убийцу и нанесшего урон.
Значит что нам нужно, летающий дамми юнит (делаем его из светлячка ночных эльфов) - модель Dummy.mdx (требуется скачать и импортировать в карту), обзор в 0, еду, стоимость в 0, хп\мп 1005000 (неважно), способности (москиты и усе, ну можно Неуязвимый нейтральный или как фрог маркер, чисто чтобы потом отьсеивать даммиков, магазины, и тому подобное проверяя на наличие этой способности)
Высота полета 0, тип летающий, угол крена в 0 град. убираем все спецэффекты при смерти и усе.
Триггерно двигай даммика прикрепив к нему спецэффект снаряда, когда до цели не останется расстояния убивай дамми и удаляй спецэффект, выбирай юнитов в области вокруг цели, потом исключи цель из группы и нанеси ей урон, после половинный (или какой там у тебя) урон всем остальным, потом создай даммика, вручи ему ракетный удар и прикажи выстрелить им по области под целью, все очень просто!
ответ
событие - юнит получает урон
условие - юнит получивший урон имеет баф (баф стрелы)
Pippetz, лучше не яд а ледяные стрелы
ответ
Frozen_Cat, тут 2 варианта:
  • нужна система отлова и дифференциации урона. Это в случае если сайленс должны при применении исключительно дамажащих спеллов.
  • нужна система детекта текущей цели юнита. В случае, когда сайленс должен получать любой юнит, применивший любое заклинание против героя.
ответ
datar1231, вот держи карту.
Когда будешь добавлять предмет, не забудь запретить его применение (в редакторе объектов: Нужно задействовать = Нет) и вообще удалить ему способность.
ответ
Значит, только обходными путями.
Я всегда детектил вход юнита на карту,
проверяя на то что этот юнит является иллюзией,
как написано было выше.
При этом чтобы отлавливать иллюзий от определённых скиллов, а не всех подряд - можно проверять их на текущий бафф (все иллюзии имеют бафф призыва, у каждого такого скилла его можно поставить свой). Эта фишка помогла мне сделать аналог героя из DotA - Phantom Lancer (старый), пассивная способность создавала при атаке свои копии, которая работала изначально только при атаках самого героя, а ульт добавлял по-уровням возможность создавать копии этими же копиями (только копиям от пассивки), потом копиям от всех его способностей (копьё и инвиз), и в конце - вообще от любых его копий (манта, ульт морфа, 1-е скиллы ШД и террора).

23

» WarCraft 3 / Проблема с моделькой

Похожие вопросы:

ответ
Свершылось... Заработало...
Вот оно.

Описание проверки:
  • проверил в редакторе, он просто вылетает при попытке настройки в РО;
  • переконвертировал в .mdl и осмотрел, все норм;
  • открыл в War3ModelEditore, удалил лишние текстуры, материалы, настроил анимации геосетов;
  • профит.
Если кто не верит, вот скрин.
ответ
Viktor2, а ты реально импортировал все текстуры (в кол-ве 21шт ) в карту? Если хотя бы одну забыл -модель не будет отображаться.
ответ
Это происходит из-за per-vertex освещения. От подобных визуальных артефактов очень сложно избавиться, но можно немного замаскировать их, подкорректировав модели освещения (например, немного уменьшить интенсивность diffuse освещения и увеличить ambient):
ответ
Satanugushka, в директории игры.
  • архивы открываются этим
  • тут более новая версия модел эдитора
Лучше не скачивать ПО с агрегаторов вроде playground.

23

» WarCraft 3 / Модели освещения...

Похожие вопросы:

ответ
Если честно то нет, ну думаю ничего не мешает проверить, а так же юзай кеш и сохраняй в него все нужные параметры.
ответ
mdlVis портит нормали и даже фаталит из-за нормалей. Бывает, приходится обнулять нормали, чтобы mdlvis смог открыть модель.
Способ есть.
  1. В War3ModelEditor сохранить копию модели в текстовом формате mdl.
  2. Отредактировать модель в mdlVis и сохранить в текстовом формате mdl.
  3. Из не редактированной копии перекинуть нормали для каждой поверхности.
  4. Р-ом War3ModelEditor конвертировать в mdx.
Судя по тому, что на скринах нормалей не видно, автору вопроса все таки нужно "Ищи ответ по запросу нормалей вершин."
ответ
В War3 Model Editor, в окне настроек материалов убрать метку "незатенённый" или "незатуманенный" (лучше обе, а то там вроде как они местами перепутаны).
ответ
EvilPenguin, я посмотрел модель, там в анимации поверхностей были изменения цвета.
Удалил на фиг - и всё стало показывать правильно.
FrigatPlay, закрой вопрос уже)
ответ
Возможно, в самом ME отключено освещение, потому модели выглядят ярко (без теней). Нужны скрины моделей в игре и МЕ для сравнения.
Если что, тени в МЕ включаются в Edit -> Properties > Enable Lighting
в русском редакторе: Редактировать -> Свойства > Включить молнии (кек).